サーバー用と家庭用のCPU、何が違う? – AMDのEPYCとRyzenを比較
こんにちは。ゲームソリューション部の出村です。
ここでは、世間で流通しているサーバー向けCPUと一般PC向けのCPUの違いを解説します。
さて、みなさんは同じCPUベンダーであっても、違うブランド名でCPUが販売されているというのはご存じでしょうか? ここでは米AMD社が販売しているCPUを取り上げてみます。米AMD社が販売しているCPUブランドとしては、EPYC(エピックと読みます)シリーズとRyzen(ライゼンと読みます)シリーズの2つがあります。これらの違いについて解説します。
EPYCとRyzen
秋葉原のPCショップなどで販売されているAMD社のCPUはほぼすべてがRyzenシリーズです。いっぽう、EC2などサーバーに搭載されているCPUはEPYCシリーズです。それからも分かる通り、サーバーにはEPYCが採用されますし、家庭用PCにはRyzenが搭載される事が一般的です。
ちなみに、どちらもハードウェアとしては同じCPUアーキテクチャ(x86_64)ですので、x86_64向けのソフトウェアであれば、EPYCでもRyzenでも同じように動作します。
では、サーバー向けCPUであるEPYCと、家庭用向けCPUであるRyzenとは何が異なるのでしょうか? ここでは、以下の特徴的な3点を取り上げて説明していきます。
- CPU当たりのコアの数
- 扱えるメインメモリの容量
- 価格
なお、EPYCの代表としてEpyc 9654とRyzenの代表としてRyzen 9 7950とを比較してみます。
CPU当たりのコアの数
CPUあたりのコア数が異なります。コアとは、人間の脳の数に例えられるCPUの基本的な処理ユニットのことです。コアの数は、以下の通りです。
CPU名 | コア数 |
---|---|
Epyc 9654 | 96コア |
Ryzen 7950X | 16コア |
この比較だとEpycのコア数は、Ryzenの6倍です。コア数が6倍だから性能が6倍になるかと言われると、そういう単純な話しでもありません。ざっと、4~5倍程度の性能と考えてもらってよいでしょう。
コア数が増えるメリットとしては、処理速度が向上するというより、1度に処理できる量が増えたと捉えるのがよいでしょう。先にも説明したとおり、コアは人間の脳に例えられますので、16人1グループで処理する量と96人1グループで処理する量は、1人あたりの処理速度の違いは少ないですが、1時間という時間単位でこなした処理量を比較すると全然違います。
ちなみに「Ryzenのコア数×複数個のCPU = Epycのコア数 = 同じ性能」と考えるかもしれませんが、実はそうなりません。理由として、CPU1個の内部で行われる処理速度と、複数の物理CPU同士を結線したコンピュータで処理を行う場合では処理速度が大きく異なるためです。例えるならば処理速度の違いとして前者が新幹線程度、後者は自転車程度と捉えてもらってよいでしょう。それぐらいに異なります。
扱えるメモリ容量が違う
次にCPUが扱えるメモリ容量が異なります。表にしたものが以下のものです。
CPU名 | 最大メインメモリ容量 |
---|---|
Epyc 9654 | 12TB |
Ryzen 7950X | 128GB |
EPYCもRyzenのいずれも64ビットCPUですので、扱えるメモリ容量は最大16エクサバイトです。ですので、いずれのCPUもまだ扱えるメモリ容量としては余力があります。
では、なぜEPYCの方が大きいのでしょうか? 先ほどのコア数をみてもらって分かる通り、サーバーの方が家庭用PCと比べて大量のデータを処理する機会が多く、メインメモリの容量が多いほど処理速度を向上させることができます(なぜ処理速度が上がるのかという説明をし出すと長くなるので、いったん割愛させてください)。
なお、回路設計としてはEPYCだけでなくRyzenでも12TBのメインメモリを扱うように設計することも可能ですが、Ryzenは12TBではなく128GBという(EPYCと比較すると)少ないメモリしか扱えないように設計されています。
そもそも一般家庭向けPCで128GB以上使う機会もほぼなく、もしRyzenでも12TBのメインメモリが扱えるようにすると、その分回路設計が複雑になり製造コストも爆上がりすることでしょう。12TBのメインメモリのアドレス(メモリ上のデータの位置を指す数値のこと)を表現するには52ビット必要ですが、128GBのメインメモリのアドレスは40ビットで事足りるため、その分、CPU回路がシンプルになります。その差が製造コストに反映されます。
なお、メインメモリが128GBではたりないユーザーはEPYCを搭載しているPCを使ってください。
価格
もちろん価格も違います。EPYC 9654だと60万円程度であるのに対し、Ryzenだと8.7万円程度となり価格が全然異なります。
この違いは、サーバー用途のものと一般ユーザー向けのものである点や、製造コストから来るものだと考えられます。車で例えるならば、スポーツカーとコンパクトカーのようなものでそれぞれ用途が違いますから、価格も違います。
まとめ
このようなCPUを用途によってブランド名を分けるのは、AMD社に限らず他のCPUベンダーでも行われています。「なぜサーバー向けCPUは、パソコンショップでみるCPUとは違うのだろう?」と不思議に思った際には、こちらのエントリーを思い出して貰えると幸いです。